Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tool to analyze impact of individual nuisances on process shapes #269

Draft
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

pkausw
Copy link

@pkausw pkausw commented Jan 18, 2022

This PR introduces a new function to the CombineHarvester that returns the templates for the processes in the harvester instance after setting the individual nuisance parameters to their post-fit values, respectively. (The idea is very similar to PR #268 ) The templates are saved as a map of the format

map[param_name] = TH1F

where param_name is the name of the nuisance parameter. The map also contains the prefit shape and the complete post-fit shape when considering all nuisance parameters simultaneously. The PR also introduces the bindings for the python interface, where this information is accessible as a python dictionary.

This information can be used to further analyze and understand how individual nuisances impact certain processes, e.g. by looping through the bins and processes:

for b in bins:
    bin_harv = harvester.cp().bin([b])
    for p in processes:
        proc_harvester = bin_harv.cp().process([p])
        these_procs = proc_harvester.process_set()
        if len(these_procs) == 0:
            print(("Could not load any processes with '{}' for bin '{}'"
                        .format(p, b)))
            continue
        total_shape_dict = proc_harvester.ShapeEvolution(fit)

The templates can be used e.g. to create figures such as this: postfit_shapes_ttH_2016_ljets_ge4j_ge4t_ttH_ttmb_ratioObservable_ttbb

These plots were used in the analysis HIG-19-011 to better understand and validate the statistical model and might be interesting for other analyses

@pkausw pkausw marked this pull request as draft March 10, 2023 10:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant